#include <stdio.h>

int main()
{
    printf("Hello World!\n");

    // 定义变量
    int a, b;
    // scanf括号内的就是要读取的内容，如下，要以"1, 2"的格式输入
    scanf("%d, %d", &a, &b);

    // 注意变量类型
    // 输出是0
    printf("%d / %d = %d\n", a, b, a / b);

    // 使用 float 或 double
    float c = 1, d = 2;
    // 输出是0.5
    printf("1 %f / %f = %f\n", c, d, c / d);
    printf("2 %f / 2 = %f\n", c, c / 2);
    printf("3 %f / 2.0 = %f\n", c, c / 2.0);

    // 
    float test1 = (c + d) / 2, test2 = (c + d) / 2.0;
    printf("test1 = %f\n", test1);
    printf("test2 = %f\n", test2);

    /* 
    运算优先级
    等号的结合关系是从右向左，可以出现a = b = 1这种形式
    单目运算：不变和取反，优先级最高
    */
    a = b = c;
    printf("a = b = c; a = %d\n", a);

    // 单目运算
    a = 1;
    b = 2;
    printf("a * +b = %d\n", a * +b);
    printf("a * -b = %d\n", a * -b);

    // 不要乱用结合关系，什么 a = (a = b + 1) * (c = d * 2) 之类的

    return 0;
}